<template>
	<view>
		<image src="../../static/logo-2.png" mode="widthFix" class="logo"></image>
		<view class="register-container">
			<input type="text" placeholder="输入你的邀请码" class="register-code" maxlength="6" v-model="registerCode" />
			<view class="register-desc">管理员创建员工证账号之后，你可以从你的个人邮箱中获得注册邀请码（DesignBy:骆发茂）</view>
			<!--open-type="getUserInfo"   微信基本信息 -->
			<button class="register-btn" open-type="getUserInfo" @tap="register()">执行注册</button>
		</view>
	</view>
</template>
<script>
export default {
	data() {
		return {
			//完成注册超级管理员功能（移动端）-前端验证功能。
			registerCode:""
		};
	},
	methods: {
		//执行注册，注册需要填写邀请码，先是前端判断邀请码是否正确，验证成功之后，
		//从getUserInfo中获取数据，并且跳转到login页面，
		//小程序注册新用户的时候，需要把微信临时授权字符串和微信基本信息提交给后端
		//的Java项目，那么这节课咱们就先来获取临时授权字符串和微信基本信息，这部分内容很简单。
		//为什么要获取openid（最终目的就是要把微信账号和用户数据表联系起来）（前端发送微信临时授权字符串（有效时间五分钟）和微信基本信息给后端，后端拿着这些找微信要openid，获取openid之后，将这些信息（openid，nickname，code、头像地址等等写入数据库员工表中，这样就把微信的账户和数据库员工表的信息绑定起来。））

		register:function(){
			//完成注册超级管理员功能（移动端）-前端验证功能。
			//that引用的是vue这个对象，（that.）就是引用的对象里面的属性、方法之类的
			let that = this;
			if(that.registerCode==null||that.registerCode.length==0){
				uni.showToast({
					title:"邀请码不能为空",
					icon:"none"
				})
				return ;
			}
			else if(/^[0-9]{6}$/.test(that.registerCode)==false){
				uni.showToast({
					title:"邀请码必须是6位数字",
					icon:"none"
				})
				return ;
			}

			//验证成功，邀请码是正确的，获得请求中的信息getUserInfo，从getUserInfo中获取数据
			uni.login({
			provider:'weixin',
			//成功之后的回调函数信息resp，resp是很多数据在里面
			success:function(resp){
				console.log(resp.code)
				let code=resp.code;
				//从getUserInfo中获取数据
				uni.getUserInfo({
					provider:'weixin',
					success:function(resp){
						let nickName = resp.userInfo.nickName;
						let avatarUrl = resp.userInfo.avatarUrl;
						//完成注册超级管理员功能（移动端）-提交ajax请求给Java
						//准备提交的数据data
						//定义好需要的参数data，小程序端向后端java传输用户的信息
						//在main.js中定义了传输用户信息的方法ajax
						//向后端java传输完用户的信息之后，跳转到index页面
						let data={
							//与后端的内容（写法code   nickname  photo  registerCode）保持一致
							code:code,
							nickname:nickName,
							photo:avatarUrl,
							registerCode:that.registerCode
						}
						//前面main.js中定义了ajax请求的函数内容，定义data，调用ajax请求向后端输用户的信息，
						//function(resp)后端处理的情况后，移动端要执行的动作，方法动作传给ajax，接收后端发过来的响应
					//后端发过来的响应要移动端干什么：权限列表保存起来在setStorageSync（Storage）;然后跳转到页面
						that.ajax(that.url.register,"POST",data,function(resp){
							//这里写的内容：响应里面的请求,获取当前用户的请求，然后跳转页面
							//resp.data；vue实例化的数据对象
							//resp.data.permission 和resp.permission一样能  获取当前用户的 	 请求权限
							//resp.data只是实例化了
							//当前用户权限列表resp.data.permission
							let permission = resp.data.permission
							uni.setStorageSync("permission",permission)
							console.log(permission)
								//跳转到index页面
								uni.switchTab({
									url:"../index/index"
								})
							})
						}
					});
				}
			});
		}
	}
};
</script>

<style lang="less">
@import url('register.less');
</style>
